package function;

/**
 * @Description TODO
 * @Author li
 * @Date 2022/3/2 10:27 上午
 */
public class MinArray {
    public static void main(String[] args) {
        int[] numbers = {7,0,1,1,1,1,1,2,3,4};
        test(numbers);
    }
    public static Object test(int[] numbers){
        int i = 0, j = numbers.length - 1;
        while (i < j) {
            // 获得中间值
            int m = (i + j) / 2;
            // 如果中间值大于最右边的值 则判断值一定在右半边
            if (numbers[m] > numbers[j]) {
                i = m + 1;

                // 如果中间值小于最右边的值 则判断值一定在左边
            } else if (numbers[m] < numbers[j]) {
                j = m;
                // 如果值相等缩小右边的值
            } else {
                j--;
            }
        }
        // 返回所在下标的值
        return numbers[i];

    }
}
